# NumPy  IO 操作是以文件的形式从磁盘中加载 ndarray 对象。
# 在这个过程中，NumPy 可以两种文件类型处理 ndarray 对象，一类是二进制文件（以.npy结尾），另一类是普通文本文件。

# NumPy IO操作方法
# 二进制文件	    load() 和 save()
# 普通文本文件	loadtxt() 和 savetxt()

# numpy.save() 方法将输入数组存储在.npy文件中。
# file：保存后的文件名称，其文件类型为.npy；
# arr：要保存的数组
# allow_pickle：可选项，布尔值参数，允许使用 pickle 序列化保存数组对象。
# fix_imports：可选项，为了便于在 Pyhton2 版本中读取 Python3 保存的数据。
import numpy as np

a = np.array([1, 2, 3, 4, 5])
np.save('first', a)
# 使用 load() 从 first.npy 文件中加载数据
b = np.load('outfile.npy')
print(b)  # [1, 2, 3, 4, 5]

# savetxt() 和 loadtxt() 分别表示以文本格式存储数据或加载数据
# filename：表示保存文件的路径；
# self.task： 要保存数组的变量名；
# fmt="%d"： 指定保存文件的格式，默认是十进制；
# delimiter=" "表示分隔符，默认以空格的形式隔开。
a = np.array([1, 2, 3, 4, 5])
np.savetxt('second.txt', a)
# 使用loadtxt重载数据
b = np.loadtxt('second.txt')
print(b)  # [ 1.  2.  3.  4.  5.]
